草庐IT

Java AES 加盐加密

全部标签

android - 更新/更改 Realm 加密 key

我在我的应用程序中加密了Realm数据库。我想更改加密key。执行此操作的正确方法是使用新的加密key制作Realm文件的副本,还是有其他可用的选项?谢谢。 最佳答案 是的,您必须使用新的加密key复制Realm文件。该方法称为writeEncryptedCopyTo():https://realm.io/docs/java/latest/api/io/realm/Realm.html#writeEncryptedCopyTo-java.io.File-byte:A-像下面这样的东西应该可以工作:RealmConfiguration

android - 如何使用 Retrofit 2 + OkHttp 3 加密/隐藏 HTTPS 调用的主体?

我目前正在开展一个项目,我通过https调用向我们的服务器api发送数据。该项目的基本URL支持ssl(我们的urlapi端点以https://api....开头。)。我正在使用Retrofit2和OkHttp3并像这样设置客户端:publicstaticvoidbuildClient(){//Misccodehere....notshowingforsecurityreasons.OkHttpClientclient=RetrofitClient.configureClient(newOkHttpClient());//Imakecallsheretoupdateintercepto

android - 将盐与加密文件一起存储会破坏安全性吗?

我正在编写一个旨在使用AES256加密和解密文件的Android应用程序。我正在使用AES-CBC模式和PBKDF2从用户输入的密码中导出AESkey。此外,我正在为每个文件的加密key生成一个安全的伪随机盐。我将IV和salt与加密文件一起存储,因此我可以重新读取它们并稍后重新生成key以便能够解密文件。我的问题:将salt与加密文件一起存储是否会破坏安全性和salt本身的任何意义?知道盐和IV的攻击者不能对加密文件进行离线暴力攻击以找出加密key吗? 最佳答案 盐的主要目的不是保密,而是确保攻击者在尝试暴力破解密码时不能使用快捷

java - 可序列化对象的 ArrayList 的加密保存和解密加载

我使用这两种方法在sd卡中保存并加载了一个包含可序列化对象的ArrayList的文件保存方法publicstaticvoidsaveUserList(ArrayListuserList){if(storageAvailable()){try{createFolder();FileOutputStreamuserList=newFileOutputStream(baseDir+File.separator+baseAppDir+File.separator+fileName);ObjectOutputStreamoos=newObjectOutputStream(userList);oo

Android:房间:没有加密和安全性?

我在Android上使用OrmLite而不是SQLite和SQLCipher来加密数据库。有没有办法加密Room数据库? 最佳答案 默认情况下,Room将数据存储在应用程序的内部存储空间中,任何根用户都可以访问。如果您需要一些安全性,您需要像这样使用加密库cwac-saferoom. 关于Android:房间:没有加密和安全性?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/48

java - 未使用 RSA 加密加密的大数据

我的问题:我的加密代码在64个字符以下时工作正常。但如果它超过64个字符,我会收到以下错误javax.crypto.IllegalBlockSizeException:inputmustbeunder64bytes加密代码cipher=Cipher.getInstance("RSA/ECB/PKCS1Padding);cipher.init(Cipher.ENCRYPT_MODE,publicKey);encryptedBytes=cipher.doFinal(message.getBytes(StandardCharsets.UTF_8));rsaEncrypted=Base64.e

android - 加密异常 : Bad PKCS7 padding

我看到一小部分生产用户随机报告了这个与使用Xamarin.Android加密/解密字符串相关的异常,但不幸的是我无法重现它。什么可能导致这种情况和/或我如何重现异常以便找出修复/解决方法?[CryptographicException:BadPKCS7padding.Invalidlength147.]Mono.Security.Cryptography.SymmetricTransform.ThrowBadPaddingException(PaddingModepadding,Int32length,Int32position):0Mono.Security.Cryptography

android - 使用 Android NDK 加密从普通 Android 应用程序传递的数据

是否有可能并且值得尝试使用androidNDK开发一些服务器应用程序,它将加密从普通基于Java的应用程序传递给它的数据(或只使用一些内置的Linux加密库)?我尝试使用Cipher库,但用AES加密2MB文件几乎花了一分钟。在Android2.3(?)之前,河豚在Cipher中不可用。而且我怀疑它会快得多。我在Symbian上使用blowfish进行加密,它的速度要快得多(不到5-10秒),所以我认为在android中它比较慢,因为使用了Java虚拟机,我想为它尝试原生应用程序。有人做过吗?编辑:在NDK中加密要快得多。在那里做。AES有一个类似的问题,答案相同:AESdecrypt

android - 使用Room时如何加密数据库?

我们想在我们正在开发的应用程序中使用Room,但我们需要加密数据库。我知道有用于加密SQL数据库的SQLCipher(虽然我从未使用过它),但我认为它不支持API级别16和更高级别的方法,所以我认为Room不受支持。另一方面,有支持加密的Realm,但我真的很想改用Room。那么我们如何加密数据库呢?非常感谢 最佳答案 IthinkthatitdoesnotsupportAPIlevel16andhighermethods,soIthinkthatRoomisnotsupported嗯,到目前为止,myCWAC-SafeRoomli

java - 在android中设置proguard规则,它可以只加密代码吗?

我的应用程序中使用了多个库,在minifyEnabled为true后,它无法生成APK。经过一番研究,我找到了规则,并将其一一添加到.pro文件中。这是库列表compilefileTree(dir:'libs',include:['*.jar'])compile'com.android.support:appcompat-v7:23.1.0'compile'com.squareup.picasso:picasso:2.3.2'compile'com.nineoldandroids:library:2.4.0'compile'com.daimajia.slider:library:1.1